<template>
	<view class="commodity" :style="{flexWrap:wrap}">
		<view class="commodity-item" :style="{width:itemW}" v-for="(item,index) in dataList" :key="index" @tap="goDetails(item.id)">
			<image class="commodity-img" :style="{width:itemW,height:bigH}" :src="item.imgUrl" mode=""></image>
			<view class="commodity-content">
				<text class="commodity-name" :style="{fontSize:nameSize}">{{item.name}}</text>
				<view>
					<text class="pprice">¥{{item.pprice}}</text>
					<text class="oprice">¥{{item.oprice}}</text>
				</view>
				<text class="discount">{{item.discount}}折</text>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		name: "Commodity",
		props: {
			dataList: Array,
			itemW:{
				type:String,
				default:"375rpx"
			},
			bigH:{
				type:String,
				default:"375rpx"
			},
			wrap:{
				type:String,
				default:"wrap"
			},
			nameSize:{
				type:String,
				default:"26rpx"
			}
		},
		data() {
			return {

			};
		},
		methods:{
			goDetails(id){
				uni.navigateTo({
					url:"/pages/details/details?id="+id
				})
			}
		}
	}
</script>

<style lang="scss" scoped>
	.commodity {
		display: flex;

		.commodity-item {
			padding-bottom: 20rpx;

			.commodity-img {
				width: 100%;
			}

			.commodity-content {
				text-align: center;

				.commodity-name {
					overflow: hidden; //超出隐藏
					text-overflow: ellipsis; //文本超出显示省略号
					// box-flex是css3新添加的盒子模型属性，它的出现可以解决我们通过N多结构、css实现的布局方式。
					//目前box-flex属性还没有得到firefox、Opera、chrome浏览器的完全支持，但可以加上浏览器私有前缀然后进行使用
					display: -webkit-box;
					//-webkit-line-clamp 用来限制在一个块元素显示的文本的行数
					-webkit-line-clamp: 2;
					//-webkit-box-orient 设置或检索伸缩盒对象的子元素的排列方式
					-webkit-box-orient: vertical;
					color: #333333;
					word-break: break-all;//显示不了的文本会自动换行
					padding: 6rpx 20rpx;
				}

				.oprice {
					text-decoration: line-through;
					font-size: 24rpx;
					color: #999999;
				}

				.discount {
					border-radius: 4rpx;
					border: 1px solid #FF3333;
					padding: 2rpx 10rpx;
					font-size: 20rpx;
					color: #FF3333;
				}
			}
		}
	}
</style>
